1. Field of the Invention
The invention relates to a color processing technique of digital color image data and, more particularly, to a color conversion matrix forming method and a color conversion table forming method for executing the same color reproduction as that of an original by a scanner, a color printer, a color monitor, or the like.
2. Related Background Art
In recent years, in association with the spread of personal computers, input devices such as scanner, digital still camera, and the like and output devices such as an ink jet printer and the like have remarkably been progressed.
In addition, those products have been widespread in the market as consumer apparatuses of high performance but a low price and are ordinarily used more and more in general homes.
Hitherto, there is such a problem that when a color document or image is printed or copied, a result which is obtained is not always satisfactory with respect to the color reproduction in dependence on the apparatus. As a cause for such a problem, there is a large difference in principle between the colors because the colors which are handled in a computer are generated on the basis of additive color mixture of RGB color data, while the colors which are handled upon printing are generated by subtractive color mixture.
To absorb such a difference in principle, there is an idea of a color profile. That is, a color converting process is executed by providing a PCS color space (Profile Connection Space) (hereinbelow, referred to as PCS) between an input and an output. Specifically speaking, the input has an input profile for converting an input device color into the PCS and the output has a color profile for converting the PCS into an output device color, thereby managing characteristics of each apparatus as a profile. Such a color profile has already been established as an ICC profile and is a concept which has already been spread.
The profile is a matrix or a 3-dimensional lookup table (hereinbelow, referred to as 3D-LUT). If the characteristics cannot be described by a matrix of 3 rows and 3 columns, an image process is executed on the basis of the 3D-LUT. Details and operation regarding the color converting process by the 3D-LUT have been disclosed in Japanese Patent Application Laid-open No. S53-123201, Japanese Patent Application Laid-open No. 2000-022973, and the like. According to the tetrahedron interpolation disclosed in the above Official Gazettes, a linear interpolation arithmetic operation is executed by using data of four lattice points in the interpolation arithmetic operation.
Since such a profile describes the characteristics peculiar to the device, it is inherently ideal to form a profile peculiar to the apparatus. With respect to each of the input and output devices, particularly, in the consumer apparatuses, there is contradiction in a certain sense of compatibility of low costs and high quality. However, it is difficult to form completely the same products, a slight individual difference exists certainly, and an aging change also exists.
However, since a processing load that is required to form the profile is generally large, the profile formed by the standard apparatus is actually used. If the profile can be easily formed at a high speed every apparatus owing to the reduction in processing load, a color drift due to the individual difference or the aging change can be eliminated.
Creation of the profile will now be described with respect to the input device as an example. If the correspondence between RAWRGB as an input device color and XYZ of the PCS (Profile Connection Space) has a linearity, the relation shown by the following equation (1) is satisfied.
                              (                                                    X                                                                    Y                                                                    Z                                              )                =                              (                                                                                m                    ⁢                                                                                  ⁢                    11                                                                                        m                    ⁢                                                                                  ⁢                    12                                                                                        m                    ⁢                                                                                  ⁢                    13                                                                                                                    m                    ⁢                                                                                  ⁢                    21                                                                                        m                    ⁢                                                                                  ⁢                    22                                                                                        m                    ⁢                                                                                  ⁢                    23                                                                                                                    m                    ⁢                                                                                  ⁢                    31                                                                                        m                    ⁢                                                                                  ⁢                    32                                                                                        m                    ⁢                                                                                  ⁢                    33                                                                        )                    ⁢                      (                                                            R                                                                              G                                                                              B                                                      )                                              (        1        )            At this time, if there are nine independent color patch data sets, a color conversion matrix which satisfies the equation (1) can be unconditionally determined.
Actually, it is difficult to have the perfect linearity between the device color and the PCS color. Since this means that the sensor characteristics of each color of RGB have to be completely linear, it is not practical. Therefore, a higher-degree matrix is formed in order to consider nonlinear elements. An example of a quadratic color conversion matrix is shown below.
                              (                                                    X                                                                    Y                                                                    Z                                              )                =                              (                                                                                                                                                                                                                                                                                                                                                                                                                                                                            M                    ij                                                                                                                                                                                                                                                                                                                                                                                                                                                                    )                    ⁢                      (                                                            R                                                                              G                                                                              B                                                                                                  R                    2                                                                                                                    G                    2                                                                                                                    B                    2                                                                                                RG                                                                              GB                                                                              BR                                                                              C                                                      )                    ⁢                                          ⁢                      (                                          i                =                                  1                  ⁢                                                                          ⁢                  …                  ⁢                                                                          ⁢                  10                                            ,                              j                =                                  1                  ⁢                                                                          ⁢                  …                  ⁢                                                                          ⁢                  3                                                      )                                              (        2        )            where,                Mij: quadratic matrix coefficients        C: constant term which is used as necessary        
When considering the case where the color conversion matrix is generalized to the nth-degree and the color conversion matrix is formed, if its solutions are the color patch data sets of the same number as the number (unknown) of matrix coefficients, the color conversion matrix can be unconditionally determined. However, actually, in order to adapt to the whole region of the color space, a larger number of data sets have to be used as color patch data sets. Therefore, hitherto, the optimal solutions have been found by a method of obtaining the solutions of nonlinear simultaneous equations represented by the method of least squares.
Although the methods such as a method of least squares and the like have already been established, a complicated arithmetic operation such as a partial differentiation or the like is needed in a calculating step. Further, the higher the degree of the matrix is, the more the arithmetic operation becomes remarkably complicated.